package com.work.yshop.mvp.contract;

import com.work.yshop.mvp.BasePresenter;
import com.work.yshop.mvp.BaseView;

/**
 * 登录功能的MVP契约接口
 */
public interface LoginContract {

    /**
     * 用户类型常量
     */
    int USER_TYPE_BUYER = 1;  // 买家
    int USER_TYPE_SELLER = 2;  // 卖家

    /**
     * 登录页面View接口
     */
    interface View extends BaseView {
        /**
         * 显示手机号错误
         * @param message 错误信息
         */
        void showPhoneError(String message);

        /**
         * 显示密码错误
         * @param message 错误信息
         */
        void showPasswordError(String message);

        /**
         * 登录成功
         * @param userType 用户类型：1-买家，2-卖家
         */
        void onLoginSuccess(int userType);
        
        /**
         * 更新状态栏时间
         * @param time 当前时间
         */
        void updateStatusBarTime(String time);
    }

    /**
     * 登录页面Presenter接口
     */
    abstract class Presenter extends BasePresenter<View> {
        /**
         * 登录
         * @param phone 手机号
         * @param password 密码
         * @param userType 用户类型：1-买家，2-卖家
         */
        public abstract void login(String phone, String password, int userType);
        
        /**
         * 更新状态栏时间
         */
        public abstract void updateTime();
    }
} 